package com.sip.stream.utils.zfy;

import com.sip.stream.utils.zfy.consumer.IGSMediaObserver;
import com.sip.stream.utils.zfy.encoder.IGSNV12Consumer;

import io.reactivex.Single;

public interface IGSNV12DataSource extends IGSMediaObserver<IGSNV12Consumer> {
    void addConsumer(IGSNV12Consumer iGSNV12Consumer);
    void addNV12Data(byte[] bArr, long j);
    void addObserver(IGSMediaObserver<IGSNV12DataSource> iGSMediaObserver);
    Single<byte[]> capture();
    int getFPS();
    int getHeight();
    int getWidth();
    void removeConsumer(IGSNV12Consumer iGSNV12Consumer);
    @Override
    default void onStop(IGSNV12Consumer iGSNV12Consumer) {
        removeConsumer(iGSNV12Consumer);
    }
}
